import os
def main():
    '''
    外层主函数
    :return:
    '''
    def tongji(lujing='./',dir_Size=0):
        '''
        递归统计函数
        :param lujing:指定目录路径，默认当前目目录下
        :param dir_Size:累加计算文件的size
        :return:当前目录下文件的总size
        '''
        os.chdir(lujing)
        varlist=os.listdir('./')#当前目录下的文件列表
        for i in varlist:
            if os.path.isfile(i) :#判断该项是否为文件
                dir_Size += os.path.getsize(i)#获取文件大小并进行累加
            if os.path.isdir(i):#判断该项是否为目录
                tmp='./'+i#更改工作目录到指定目录下
                dir_Size += tongji(tmp)#将该目录下文件大小，累加到总大小上
        os.chdir('../')#更改工作目录为上层目录
        return dir_Size

    while 1:
        print('统计目标目录的大小')
        print('输入1，统计当前目录大小')
        print('输入0，退出系统')
        print('例输入：./AAA或C:\\\\ABC\\\\AAA')
        mulu = input()
        if mulu == '0':
            return
        elif mulu == '1':
            res=tongji()
            print(res)
        elif os.path.isdir(mulu):
            res = tongji(mulu)
            print(res)
        else:
            print('输入有误，请重新输入！！！')
main()
